import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/****
 * 一、Stream的三个步骤
 * 1.创建Stream
 * 2.中间操作
 * 3.终止操作(终端操作)
 * 
 * @author Administrator
 *
 */
public class TestStreamAPI1 {
	//创建Stream
	@Test
	public void test1() {
		//1.可以通过Collection系列集合提供的steam或parallelStream
		List<String>list=new ArrayList<>();
		Stream<String>stream1=list.stream();
		
		//2.通过Arrays中的静态方法stream()获取数组流
		Employee[]emps=new Employee[10];
		Stream<Employee>stream2=Arrays.stream(emps);
		
		
	    //3.通过Stream类中的静态方法of
		Stream<String>stream3=Stream.of("ab","bb","cc");
		
		//创建无限流,从种子0开始无限循环
		//迭代,执行终止操作(steam4.foreach)才能看出结果
		Stream<Integer>stream4=Stream.iterate(0, (x)->x+2);
		stream4.forEach(System.out::println);
		
		//生成无限流
		Stream.generate(()->Math.random())
		.forEach(System.out::println);
		
	}

}
